package com.sq.util.web.validation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ValidInt {

    /**
     * 名称
     */
    String name();

    /**
     * 下限
     */
    int lower() default Integer.MIN_VALUE;

    /**
     * 下限取等于
     */
    boolean lowerEqual() default true;

    /**
     * 上限
     */
    int upper() default Integer.MAX_VALUE;

    /**
     * 上限取等于
     */
    boolean upperEqual() default true;

    /**
     * 允许为空，为true时，传入的值为null，返回null
     */
    boolean canBeNull() default false;

    /**
     * 默认值，canBeNull设置为false，并且传入的值为null时，会使用该值
     */
    String defaultValue() default "";
}